<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: Custom Calibration Pattern for 3D reconstruction</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> |
<a href="#nested-classes">Classes</a> |
<a href="#define-members">Macros</a> |
<a href="#enum-members">Enumerations</a> |
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Custom Calibration Pattern for 3D reconstruction</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:df/d9f/namespacecv_1_1omnidir_1_1internal"><td align="right" class="memItemLeft" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d9f/namespacecv_1_1omnidir_1_1internal.html">cv::omnidir::internal</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d3e/classcv_1_1ccalib_1_1CustomPattern.html">cv::ccalib::CustomPattern</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dc7/classcv_1_1multicalib_1_1MultiCameraCalibration.html">cv::multicalib::MultiCameraCalibration</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for multiple camera calibration that supports pinhole camera and omnidirection camera. For omnidirectional camera model, please refer to <a class="el" href="../../db/d62/omnidir_8hpp.html">omnidir.hpp</a> in ccalib module. It first calibrate each camera individually, then a bundle adjustment like optimization is applied to refine extrinsic parameters. So far, it only support "random" pattern for calibration, see randomPattern.hpp in ccalib module for details. Images that are used should be named by "cameraIdx-timestamp.*", several images with the same timestamp means that they are the same pattern that are photographed. cameraIdx should start from 0.  <a href="../../d4/dc7/classcv_1_1multicalib_1_1MultiCameraCalibration.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d8d/classcv_1_1randpattern_1_1RandomPatternCornerFinder.html">cv::randpattern::RandomPatternCornerFinder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Class for finding features points and corresponding 3D in world coordinate of a "random" pattern, which can be to be used in calibration. It is useful when pattern is partly occluded or only a part of pattern can be observed in multiple cameras calibration. The pattern can be generated by <a class="el" href="../../d7/d43/classcv_1_1randpattern_1_1RandomPatternGenerator.html">RandomPatternGenerator</a> class described in this file.  <a href="../../df/d8d/classcv_1_1randpattern_1_1RandomPatternCornerFinder.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td align="right" class="memItemLeft" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d43/classcv_1_1randpattern_1_1RandomPatternGenerator.html">cv::randpattern::RandomPatternGenerator</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga110f3b6cdacd45daee818b3e5965f6da"><td align="right" class="memItemLeft" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#ga110f3b6cdacd45daee818b3e5965f6da">HEAD</a>   -1</td></tr>
<tr class="separator:ga110f3b6cdacd45daee818b3e5965f6da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gadf770fe2eec438e3758ffe905dbae208"><td align="right" class="memItemLeft" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gadf770fe2eec438e3758ffe905dbae208">INVALID</a>   -2</td></tr>
<tr class="separator:gadf770fe2eec438e3758ffe905dbae208"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gab1335ff41f89604e6e1706fbad77ba0a"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aa44106d930e2a174c6ed350f219f2d095">cv::omnidir::CALIB_USE_GUESS</a> = 1, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aaf70dfa2a5c442e4f2b3992183f58db57">cv::omnidir::CALIB_FIX_SKEW</a> = 2, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aae0cda4a468b2dd7d5bf8d25b59af842d">cv::omnidir::CALIB_FIX_K1</a> = 4, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aae06ee285ec34e44f896f14411921b4a2">cv::omnidir::CALIB_FIX_K2</a> = 8, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aa797a57203db40b8abf59e406c5115caa">cv::omnidir::CALIB_FIX_P1</a> = 16, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aa6209b9a3475764750722a1de1eede165">cv::omnidir::CALIB_FIX_P2</a> = 32, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aab995c1b213d289aa8d4dd3cfba8b9c73">cv::omnidir::CALIB_FIX_XI</a> = 64, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aa9032c7d629be0a896e942f14670919c2">cv::omnidir::CALIB_FIX_GAMMA</a> = 128, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#ggab1335ff41f89604e6e1706fbad77ba0aa2a44eb74b27a87e8e0049ffcfcf8ed02">cv::omnidir::CALIB_FIX_CENTER</a> = 256
<br/>
 }</td></tr>
<tr class="separator:gab1335ff41f89604e6e1706fbad77ba0a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3c47b77accd85d52f07f3d73e85db00a"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga3c47b77accd85d52f07f3d73e85db00aa31955c9ca6f1102df0d2149947194907">cv::omnidir::RECTIFY_PERSPECTIVE</a> = 1, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga3c47b77accd85d52f07f3d73e85db00aa1c393e788481b0d3d430f34ca48c9b48">cv::omnidir::RECTIFY_CYLINDRICAL</a> = 2, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga3c47b77accd85d52f07f3d73e85db00aabe86f27bd18947404765e70eb9f90787">cv::omnidir::RECTIFY_LONGLATI</a> = 3, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga3c47b77accd85d52f07f3d73e85db00aa6abf85110a5c5b2d8394442e22bdcb1d">cv::omnidir::RECTIFY_STEREOGRAPHIC</a> = 4
<br/>
 }</td></tr>
<tr class="separator:ga3c47b77accd85d52f07f3d73e85db00a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga01a7a17cfab677e670e2c3a9e2c7ea99"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga01a7a17cfab677e670e2c3a9e2c7ea99aa1adad1b0fe06ed7c8203712c194aa0b">cv::omnidir::XYZRGB</a> = 1, 
<br/>
  <a class="el" href="../../d3/ddc/group__ccalib.html#gga01a7a17cfab677e670e2c3a9e2c7ea99a1b9784248615a43b52020905cebd78f8">cv::omnidir::XYZ</a> = 2
<br/>
 }</td></tr>
<tr class="separator:ga01a7a17cfab677e670e2c3a9e2c7ea99"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaf285e757a4091bfbc2bb742ada3ccba7"><td align="right" class="memItemLeft" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gaf285e757a4091bfbc2bb742ada3ccba7">cv::omnidir::calibrate</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga606feabe3b50ab6838f1ba89727aa07a">InputArrayOfArrays</a> objectPoints, <a class="el" href="../../dc/d84/group__core__basic.html#ga606feabe3b50ab6838f1ba89727aa07a">InputArrayOfArrays</a> imagePoints, <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> size, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> K, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> xi, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> rvecs, <a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> tvecs, int flags, <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> criteria, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> idx=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>())</td></tr>
<tr class="memdesc:gaf285e757a4091bfbc2bb742ada3ccba7"><td class="mdescLeft"> </td><td class="mdescRight">Perform omnidirectional camera calibration, the default depth of outputs is CV_64F.  <a href="../../d3/ddc/group__ccalib.html#gaf285e757a4091bfbc2bb742ada3ccba7">More...</a><br/></td></tr>
<tr class="separator:gaf285e757a4091bfbc2bb742ada3ccba7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga5825788141f468e6fbcd501d5115df15"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#ga5825788141f468e6fbcd501d5115df15">cv::omnidir::initUndistortRectifyMap</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> xi, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> R, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> P, const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a> &amp;size, int m1type, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> map1, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> map2, int flags)</td></tr>
<tr class="memdesc:ga5825788141f468e6fbcd501d5115df15"><td class="mdescLeft"> </td><td class="mdescRight">Computes undistortion and rectification maps for omnidirectional camera image transform by a rotation R. It output two maps that are used for <a class="el" href="../../da/d54/group__imgproc__transform.html#gab75ef31ce5cdfb5c44b6da5f3b908ea4" title="Applies a generic geometrical transformation to an image. ">cv::remap()</a>. If D is empty then zero distortion is used, if R or P is empty then identity matrices are used.  <a href="../../d3/ddc/group__ccalib.html#ga5825788141f468e6fbcd501d5115df15">More...</a><br/></td></tr>
<tr class="separator:ga5825788141f468e6fbcd501d5115df15"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaa56e2e41ffcca9aaf9862279066778de"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gaa56e2e41ffcca9aaf9862279066778de">cv::omnidir::projectPoints</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> objectPoints, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> imagePoints, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> rvec, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> tvec, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K, double xi, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> jacobian=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>())</td></tr>
<tr class="memdesc:gaa56e2e41ffcca9aaf9862279066778de"><td class="mdescLeft"> </td><td class="mdescRight">Projects points for omnidirectional camera using CMei's model.  <a href="../../d3/ddc/group__ccalib.html#gaa56e2e41ffcca9aaf9862279066778de">More...</a><br/></td></tr>
<tr class="separator:gaa56e2e41ffcca9aaf9862279066778de"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gab81dab5ed5ac69791dba220ec5f32db4"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gab81dab5ed5ac69791dba220ec5f32db4">cv::omnidir::projectPoints</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> objectPoints, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> imagePoints, const <a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">Affine3d</a> &amp;affine, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K, double xi, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> jacobian=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>())</td></tr>
<tr class="separator:gab81dab5ed5ac69791dba220ec5f32db4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga6f1aa828b02e7263394acb5f6821cc84"><td align="right" class="memItemLeft" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#ga6f1aa828b02e7263394acb5f6821cc84">cv::omnidir::stereoCalibrate</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> objectPoints, <a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> imagePoints1, <a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> imagePoints2, const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp;imageSize1, const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp;imageSize2, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> K1, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> xi1, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> D1, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> K2, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> xi2, <a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> D2, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> rvec, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> tvec, <a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> rvecsL, <a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> tvecsL, int flags, <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> criteria, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> idx=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>())</td></tr>
<tr class="memdesc:ga6f1aa828b02e7263394acb5f6821cc84"><td class="mdescLeft"> </td><td class="mdescRight">Stereo calibration for omnidirectional camera model. It computes the intrinsic parameters for two cameras and the extrinsic parameters between two cameras. The default depth of outputs is CV_64F.  <a href="../../d3/ddc/group__ccalib.html#ga6f1aa828b02e7263394acb5f6821cc84">More...</a><br/></td></tr>
<tr class="separator:ga6f1aa828b02e7263394acb5f6821cc84"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga907c0cb0b0ec8896f1e60510b546e63a"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#ga907c0cb0b0ec8896f1e60510b546e63a">cv::omnidir::stereoReconstruct</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image1, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> image2, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K1, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D1, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> xi1, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K2, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D2, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> xi2, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> R, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> T, int flag, int numDisparities, int SADWindowSize, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> disparity, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> image1Rec, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> image2Rec, const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp;newSize=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> Knew=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> pointCloud=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>(), int pointType=<a class="el" href="../../d3/ddc/group__ccalib.html#gga01a7a17cfab677e670e2c3a9e2c7ea99aa1adad1b0fe06ed7c8203712c194aa0b">XYZRGB</a>)</td></tr>
<tr class="memdesc:ga907c0cb0b0ec8896f1e60510b546e63a"><td class="mdescLeft"> </td><td class="mdescRight">Stereo 3D reconstruction from a pair of images.  <a href="../../d3/ddc/group__ccalib.html#ga907c0cb0b0ec8896f1e60510b546e63a">More...</a><br/></td></tr>
<tr class="separator:ga907c0cb0b0ec8896f1e60510b546e63a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf055863d589cb166c23cc26fcaa6ce98"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gaf055863d589cb166c23cc26fcaa6ce98">cv::omnidir::stereoRectify</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> R, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> T, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> R1, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> R2)</td></tr>
<tr class="memdesc:gaf055863d589cb166c23cc26fcaa6ce98"><td class="mdescLeft"> </td><td class="mdescRight">Stereo rectification for omnidirectional camera model. It computes the rectification rotations for two cameras.  <a href="../../d3/ddc/group__ccalib.html#gaf055863d589cb166c23cc26fcaa6ce98">More...</a><br/></td></tr>
<tr class="separator:gaf055863d589cb166c23cc26fcaa6ce98"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gafe4f53d9b64bfe15b86e75a4699cbba4"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gafe4f53d9b64bfe15b86e75a4699cbba4">cv::omnidir::undistortImage</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> distorted, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> undistorted, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> xi, int flags, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> Knew=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>(), const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp;new_size=<a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>(), <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> R=<a class="el" href="../../d3/d63/classcv_1_1Mat.html#a2cf9b9acde7a9852542bbc20ef851ed2">Mat::eye</a>(3, 3, <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga30a562691cc5987bc88eb7bb7a8faf2b">CV_64F</a>))</td></tr>
<tr class="memdesc:gafe4f53d9b64bfe15b86e75a4699cbba4"><td class="mdescLeft"> </td><td class="mdescRight">Undistort omnidirectional images to perspective images.  <a href="../../d3/ddc/group__ccalib.html#gafe4f53d9b64bfe15b86e75a4699cbba4">More...</a><br/></td></tr>
<tr class="separator:gafe4f53d9b64bfe15b86e75a4699cbba4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaba79dc040a15997c533342d166812d9c"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/ddc/group__ccalib.html#gaba79dc040a15997c533342d166812d9c">cv::omnidir::undistortPoints</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> distorted, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> undistorted, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> K, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> D, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> xi, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> R)</td></tr>
<tr class="memdesc:gaba79dc040a15997c533342d166812d9c"><td class="mdescLeft"> </td><td class="mdescRight">Undistort 2D image points for omnidirectional camera using CMei's model.  <a href="../../d3/ddc/group__ccalib.html#gaba79dc040a15997c533342d166812d9c">More...</a><br/></td></tr>
<tr class="separator:gaba79dc040a15997c533342d166812d9c"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga110f3b6cdacd45daee818b3e5965f6da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga110f3b6cdacd45daee818b3e5965f6da">◆ </a></span>HEAD</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HEAD   -1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d6/d51/multicalib_8hpp.html">opencv2/ccalib/multicalib.hpp</a>&gt;</code></p>
</div>
</div>
<a id="gadf770fe2eec438e3758ffe905dbae208"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadf770fe2eec438e3758ffe905dbae208">◆ </a></span>INVALID</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define INVALID   -2</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../d6/d51/multicalib_8hpp.html">opencv2/ccalib/multicalib.hpp</a>&gt;</code></p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gab1335ff41f89604e6e1706fbad77ba0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab1335ff41f89604e6e1706fbad77ba0a">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aa44106d930e2a174c6ed350f219f2d095"></a>CALIB_USE_GUESS <div class="python_language">Python: cv.omnidir.CALIB_USE_GUESS</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aaf70dfa2a5c442e4f2b3992183f58db57"></a>CALIB_FIX_SKEW <div class="python_language">Python: cv.omnidir.CALIB_FIX_SKEW</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aae0cda4a468b2dd7d5bf8d25b59af842d"></a>CALIB_FIX_K1 <div class="python_language">Python: cv.omnidir.CALIB_FIX_K1</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aae06ee285ec34e44f896f14411921b4a2"></a>CALIB_FIX_K2 <div class="python_language">Python: cv.omnidir.CALIB_FIX_K2</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aa797a57203db40b8abf59e406c5115caa"></a>CALIB_FIX_P1 <div class="python_language">Python: cv.omnidir.CALIB_FIX_P1</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aa6209b9a3475764750722a1de1eede165"></a>CALIB_FIX_P2 <div class="python_language">Python: cv.omnidir.CALIB_FIX_P2</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aab995c1b213d289aa8d4dd3cfba8b9c73"></a>CALIB_FIX_XI <div class="python_language">Python: cv.omnidir.CALIB_FIX_XI</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aa9032c7d629be0a896e942f14670919c2"></a>CALIB_FIX_GAMMA <div class="python_language">Python: cv.omnidir.CALIB_FIX_GAMMA</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ggab1335ff41f89604e6e1706fbad77ba0aa2a44eb74b27a87e8e0049ffcfcf8ed02"></a>CALIB_FIX_CENTER <div class="python_language">Python: cv.omnidir.CALIB_FIX_CENTER</div></td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="ga3c47b77accd85d52f07f3d73e85db00a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3c47b77accd85d52f07f3d73e85db00a">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga3c47b77accd85d52f07f3d73e85db00aa31955c9ca6f1102df0d2149947194907"></a>RECTIFY_PERSPECTIVE <div class="python_language">Python: cv.omnidir.RECTIFY_PERSPECTIVE</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="gga3c47b77accd85d52f07f3d73e85db00aa1c393e788481b0d3d430f34ca48c9b48"></a>RECTIFY_CYLINDRICAL <div class="python_language">Python: cv.omnidir.RECTIFY_CYLINDRICAL</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="gga3c47b77accd85d52f07f3d73e85db00aabe86f27bd18947404765e70eb9f90787"></a>RECTIFY_LONGLATI <div class="python_language">Python: cv.omnidir.RECTIFY_LONGLATI</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="gga3c47b77accd85d52f07f3d73e85db00aa6abf85110a5c5b2d8394442e22bdcb1d"></a>RECTIFY_STEREOGRAPHIC <div class="python_language">Python: cv.omnidir.RECTIFY_STEREOGRAPHIC</div></td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="ga01a7a17cfab677e670e2c3a9e2c7ea99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga01a7a17cfab677e670e2c3a9e2c7ea99">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga01a7a17cfab677e670e2c3a9e2c7ea99aa1adad1b0fe06ed7c8203712c194aa0b"></a>XYZRGB <div class="python_language">Python: cv.omnidir.XYZRGB</div></td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="gga01a7a17cfab677e670e2c3a9e2c7ea99a1b9784248615a43b52020905cebd78f8"></a>XYZ <div class="python_language">Python: cv.omnidir.XYZ</div></td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaf285e757a4091bfbc2bb742ada3ccba7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf285e757a4091bfbc2bb742ada3ccba7">◆ </a></span>calibrate()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double cv::omnidir::calibrate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga606feabe3b50ab6838f1ba89727aa07a">InputArrayOfArrays</a> </td>
          <td class="paramname"><em>objectPoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga606feabe3b50ab6838f1ba89727aa07a">InputArrayOfArrays</a> </td>
          <td class="paramname"><em>imagePoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> </td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> </td>
          <td class="paramname"><em>rvecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> </td>
          <td class="paramname"><em>tvecs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> </td>
          <td class="paramname"><em>criteria</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>idx</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval, K, xi, D, rvecs, tvecs, idx</td><td>=</td><td>cv.omnidir.calibrate(</td><td class="paramname">objectPoints, imagePoints, size, K, xi, D, flags, criteria[, rvecs[, tvecs[, idx]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Perform omnidirectional camera calibration, the default depth of outputs is CV_64F. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">objectPoints</td><td>Vector of vector of Vec3f object points in world (pattern) coordinate. It also can be vector of <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> with size 1xN/Nx1 and type CV_32FC3. Data with depth of 64_F is also acceptable. </td></tr>
    <tr><td class="paramname">imagePoints</td><td>Vector of vector of Vec2f corresponding image points of objectPoints. It must be the same size and the same type with objectPoints. </td></tr>
    <tr><td class="paramname">size</td><td>Image size of calibration images. </td></tr>
    <tr><td class="paramname">K</td><td>Output calibrated camera matrix. </td></tr>
    <tr><td class="paramname">xi</td><td>Output parameter xi for CMei's model </td></tr>
    <tr><td class="paramname">D</td><td>Output distortion parameters \((k_1, k_2, p_1, p_2)\) </td></tr>
    <tr><td class="paramname">rvecs</td><td>Output rotations for each calibration images </td></tr>
    <tr><td class="paramname">tvecs</td><td>Output translation for each calibration images </td></tr>
    <tr><td class="paramname">flags</td><td>The flags that control calibrate </td></tr>
    <tr><td class="paramname">criteria</td><td>Termination criteria for optimization </td></tr>
    <tr><td class="paramname">idx</td><td>Indices of images that pass initialization, which are really used in calibration. So the size of rvecs is the same as <a class="el" href="../../df/d57/namespacecv_1_1dnn.html#a65ad6cf1b64a572bf78d696d2014b0e6">idx.total()</a>. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="ga5825788141f468e6fbcd501d5115df15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5825788141f468e6fbcd501d5115df15">◆ </a></span>initUndistortRectifyMap()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::initUndistortRectifyMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>P</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">cv::Size</a> &amp; </td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>m1type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>map1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>map2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>map1, map2</td><td>=</td><td>cv.omnidir.initUndistortRectifyMap(</td><td class="paramname">K, D, xi, R, P, size, m1type, flags[, map1[, map2]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Computes undistortion and rectification maps for omnidirectional camera image transform by a rotation R. It output two maps that are used for <a class="el" href="../../da/d54/group__imgproc__transform.html#gab75ef31ce5cdfb5c44b6da5f3b908ea4" title="Applies a generic geometrical transformation to an image. ">cv::remap()</a>. If D is empty then zero distortion is used, if R or P is empty then identity matrices are used. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">K</td><td>Camera matrix \(K = \vecthreethree{f_x}{s}{c_x}{0}{f_y}{c_y}{0}{0}{_1}\), with depth CV_32F or CV_64F </td></tr>
    <tr><td class="paramname">D</td><td>Input vector of distortion coefficients \((k_1, k_2, p_1, p_2)\), with depth CV_32F or CV_64F </td></tr>
    <tr><td class="paramname">xi</td><td>The parameter xi for CMei's model </td></tr>
    <tr><td class="paramname">R</td><td>Rotation transform between the original and object space : 3x3 1-channel, or vector: 3x1/1x3, with depth CV_32F or CV_64F </td></tr>
    <tr><td class="paramname">P</td><td>New camera matrix (3x3) or new projection matrix (3x4) </td></tr>
    <tr><td class="paramname">size</td><td>Undistorted image size. </td></tr>
    <tr><td class="paramname">m1type</td><td>Type of the first output map that can be CV_32FC1 or CV_16SC2 . See <a class="el" href="../../da/d54/group__imgproc__transform.html#ga9156732fa8f01be9ebd1a194f2728b7f" title="Converts image transformation maps from one representation to another. ">convertMaps()</a> for details. </td></tr>
    <tr><td class="paramname">map1</td><td>The first output map. </td></tr>
    <tr><td class="paramname">map2</td><td>The second output map. </td></tr>
    <tr><td class="paramname">flags</td><td>Flags indicates the rectification type, RECTIFY_PERSPECTIVE, RECTIFY_CYLINDRICAL, RECTIFY_LONGLATI and RECTIFY_STEREOGRAPHIC are supported. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="gaa56e2e41ffcca9aaf9862279066778de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa56e2e41ffcca9aaf9862279066778de">◆ </a></span>projectPoints() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::projectPoints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>objectPoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>imagePoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>rvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>tvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>jacobian</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>imagePoints, jacobian</td><td>=</td><td>cv.omnidir.projectPoints(</td><td class="paramname">objectPoints, rvec, tvec, K, xi, D[, imagePoints[, jacobian]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Projects points for omnidirectional camera using CMei's model. </p>
<p>This module was accepted as a GSoC 2015 project for OpenCV, authored by Baisheng Lai, mentored by Bo Li.</p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">objectPoints</td><td>Object points in world coordinate, vector of vector of Vec3f or <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> of 1xN/Nx1 3-channel of type CV_32F and N is the number of points. 64F is also acceptable. </td></tr>
    <tr><td class="paramname">imagePoints</td><td>Output array of image points, vector of vector of Vec2f or 1xN/Nx1 2-channel of type CV_32F. 64F is also acceptable. </td></tr>
    <tr><td class="paramname">rvec</td><td>vector of rotation between world coordinate and camera coordinate, i.e., om </td></tr>
    <tr><td class="paramname">tvec</td><td>vector of translation between pattern coordinate and camera coordinate </td></tr>
    <tr><td class="paramname">K</td><td>Camera matrix \(K = \vecthreethree{f_x}{s}{c_x}{0}{f_y}{c_y}{0}{0}{_1}\). </td></tr>
    <tr><td class="paramname">D</td><td>Input vector of distortion coefficients \((k_1, k_2, p_1, p_2)\). </td></tr>
    <tr><td class="paramname">xi</td><td>The parameter xi for CMei's model </td></tr>
    <tr><td class="paramname">jacobian</td><td>Optional output 2Nx16 of type CV_64F jacobian matrix, contains the derivatives of image pixel points wrt parameters including \(om, T, f_x, f_y, s, c_x, c_y, xi, k_1, k_2, p_1, p_2\). This matrix will be used in calibration by optimization.</td></tr>
  </table>
  </dd>
</dl>
<p>The function projects object 3D points of world coordinate to image pixels, parameter by intrinsic and extrinsic parameters. Also, it optionally compute a by-product: the jacobian matrix containing contains the derivatives of image pixel points wrt intrinsic and extrinsic parameters. </p>
</div>
</div>
<a id="gab81dab5ed5ac69791dba220ec5f32db4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab81dab5ed5ac69791dba220ec5f32db4">◆ </a></span>projectPoints() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::projectPoints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>objectPoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>imagePoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../d0/de1/group__core.html#ga0b49177f52ed1b43e3f5a198baeee203">Affine3d</a> &amp; </td>
          <td class="paramname"><em>affine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>jacobian</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>imagePoints, jacobian</td><td>=</td><td>cv.omnidir.projectPoints(</td><td class="paramname">objectPoints, rvec, tvec, K, xi, D[, imagePoints[, jacobian]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
</div>
</div>
<a id="ga6f1aa828b02e7263394acb5f6821cc84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6f1aa828b02e7263394acb5f6821cc84">◆ </a></span>stereoCalibrate()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double cv::omnidir::stereoCalibrate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> </td>
          <td class="paramname"><em>objectPoints</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> </td>
          <td class="paramname"><em>imagePoints1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga8899575c0929a56ab8bdd01cf34ebcb1">InputOutputArrayOfArrays</a> </td>
          <td class="paramname"><em>imagePoints2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp; </td>
          <td class="paramname"><em>imageSize1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp; </td>
          <td class="paramname"><em>imageSize2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>K1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>xi1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>D1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>K2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>xi2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaf77c9a14ef956c50c1efd4547f444e63">InputOutputArray</a> </td>
          <td class="paramname"><em>D2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>rvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>tvec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> </td>
          <td class="paramname"><em>rvecsL</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga889a09549b98223016170d9b613715de">OutputArrayOfArrays</a> </td>
          <td class="paramname"><em>tvecsL</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> </td>
          <td class="paramname"><em>criteria</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>idx</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>()</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval, objectPoints, imagePoints1, imagePoints2, K1, xi1, D1, K2, xi2, D2, rvec, tvec, rvecsL, tvecsL, idx</td><td>=</td><td>cv.omnidir.stereoCalibrate(</td><td class="paramname">objectPoints, imagePoints1, imagePoints2, imageSize1, imageSize2, K1, xi1, D1, K2, xi2, D2, flags, criteria[, rvec[, tvec[, rvecsL[, tvecsL[, idx]]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Stereo calibration for omnidirectional camera model. It computes the intrinsic parameters for two cameras and the extrinsic parameters between two cameras. The default depth of outputs is CV_64F. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">objectPoints</td><td>Object points in world (pattern) coordinate. Its type is vector&lt;vector&lt;Vec3f&gt; &gt;. It also can be vector of <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> with size 1xN/Nx1 and type CV_32FC3. Data with depth of 64_F is also acceptable. </td></tr>
    <tr><td class="paramname">imagePoints1</td><td>The corresponding image points of the first camera, with type vector&lt;vector&lt;Vec2f&gt; &gt;. It must be the same size and the same type as objectPoints. </td></tr>
    <tr><td class="paramname">imagePoints2</td><td>The corresponding image points of the second camera, with type vector&lt;vector&lt;Vec2f&gt; &gt;. It must be the same size and the same type as objectPoints. </td></tr>
    <tr><td class="paramname">imageSize1</td><td>Image size of calibration images of the first camera. </td></tr>
    <tr><td class="paramname">imageSize2</td><td>Image size of calibration images of the second camera. </td></tr>
    <tr><td class="paramname">K1</td><td>Output camera matrix for the first camera. </td></tr>
    <tr><td class="paramname">xi1</td><td>Output parameter xi of Mei's model for the first camera </td></tr>
    <tr><td class="paramname">D1</td><td>Output distortion parameters \((k_1, k_2, p_1, p_2)\) for the first camera </td></tr>
    <tr><td class="paramname">K2</td><td>Output camera matrix for the first camera. </td></tr>
    <tr><td class="paramname">xi2</td><td>Output parameter xi of CMei's model for the second camera </td></tr>
    <tr><td class="paramname">D2</td><td>Output distortion parameters \((k_1, k_2, p_1, p_2)\) for the second camera </td></tr>
    <tr><td class="paramname">rvec</td><td>Output rotation between the first and second camera </td></tr>
    <tr><td class="paramname">tvec</td><td>Output translation between the first and second camera </td></tr>
    <tr><td class="paramname">rvecsL</td><td>Output rotation for each image of the first camera </td></tr>
    <tr><td class="paramname">tvecsL</td><td>Output translation for each image of the first camera </td></tr>
    <tr><td class="paramname">flags</td><td>The flags that control stereoCalibrate </td></tr>
    <tr><td class="paramname">criteria</td><td>Termination criteria for optimization </td></tr>
    <tr><td class="paramname">idx</td><td>Indices of image pairs that pass initialization, which are really used in calibration. So the size of rvecs is the same as <a class="el" href="../../df/d57/namespacecv_1_1dnn.html#a65ad6cf1b64a572bf78d696d2014b0e6">idx.total()</a>. @ </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="ga907c0cb0b0ec8896f1e60510b546e63a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga907c0cb0b0ec8896f1e60510b546e63a">◆ </a></span>stereoReconstruct()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::stereoReconstruct </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>image1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>image2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>xi1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>xi2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>numDisparities</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>SADWindowSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>disparity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>image1Rec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>image2Rec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp; </td>
          <td class="paramname"><em>newSize</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>Knew</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>pointCloud</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>pointType</em> = <code><a class="el" href="../../d3/ddc/group__ccalib.html#gga01a7a17cfab677e670e2c3a9e2c7ea99aa1adad1b0fe06ed7c8203712c194aa0b">XYZRGB</a></code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>disparity, image1Rec, image2Rec, pointCloud</td><td>=</td><td>cv.omnidir.stereoReconstruct(</td><td class="paramname">image1, image2, K1, D1, xi1, K2, D2, xi2, R, T, flag, numDisparities, SADWindowSize[, disparity[, image1Rec[, image2Rec[, newSize[, Knew[, pointCloud[, pointType]]]]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Stereo 3D reconstruction from a pair of images. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">image1</td><td>The first input image </td></tr>
    <tr><td class="paramname">image2</td><td>The second input image </td></tr>
    <tr><td class="paramname">K1</td><td>Input camera matrix of the first camera </td></tr>
    <tr><td class="paramname">D1</td><td>Input distortion parameters \((k_1, k_2, p_1, p_2)\) for the first camera </td></tr>
    <tr><td class="paramname">xi1</td><td>Input parameter xi for the first camera for CMei's model </td></tr>
    <tr><td class="paramname">K2</td><td>Input camera matrix of the second camera </td></tr>
    <tr><td class="paramname">D2</td><td>Input distortion parameters \((k_1, k_2, p_1, p_2)\) for the second camera </td></tr>
    <tr><td class="paramname">xi2</td><td>Input parameter xi for the second camera for CMei's model </td></tr>
    <tr><td class="paramname">R</td><td>Rotation between the first and second camera </td></tr>
    <tr><td class="paramname">T</td><td>Translation between the first and second camera </td></tr>
    <tr><td class="paramname">flag</td><td>Flag of rectification type, RECTIFY_PERSPECTIVE or RECTIFY_LONGLATI </td></tr>
    <tr><td class="paramname">numDisparities</td><td>The parameter 'numDisparities' in <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html" title="The class implements the modified H. Hirschmuller algorithm  that differs from the original one as fo...">StereoSGBM</a>, see <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html" title="The class implements the modified H. Hirschmuller algorithm  that differs from the original one as fo...">StereoSGBM</a> for details. </td></tr>
    <tr><td class="paramname">SADWindowSize</td><td>The parameter 'SADWindowSize' in <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html" title="The class implements the modified H. Hirschmuller algorithm  that differs from the original one as fo...">StereoSGBM</a>, see <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html" title="The class implements the modified H. Hirschmuller algorithm  that differs from the original one as fo...">StereoSGBM</a> for details. </td></tr>
    <tr><td class="paramname">disparity</td><td>Disparity map generated by stereo matching </td></tr>
    <tr><td class="paramname">image1Rec</td><td>Rectified image of the first image </td></tr>
    <tr><td class="paramname">image2Rec</td><td>rectified image of the second image </td></tr>
    <tr><td class="paramname">newSize</td><td>Image size of rectified image, see <a class="el" href="../../d3/ddc/group__ccalib.html#gafe4f53d9b64bfe15b86e75a4699cbba4" title="Undistort omnidirectional images to perspective images. ">omnidir::undistortImage</a> </td></tr>
    <tr><td class="paramname">Knew</td><td>New camera matrix of rectified image, see <a class="el" href="../../d3/ddc/group__ccalib.html#gafe4f53d9b64bfe15b86e75a4699cbba4" title="Undistort omnidirectional images to perspective images. ">omnidir::undistortImage</a> </td></tr>
    <tr><td class="paramname">pointCloud</td><td>Point cloud of 3D reconstruction, with type CV_64FC3 </td></tr>
    <tr><td class="paramname">pointType</td><td>Point cloud type, it can be XYZRGB or XYZ </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="gaf055863d589cb166c23cc26fcaa6ce98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf055863d589cb166c23cc26fcaa6ce98">◆ </a></span>stereoRectify()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::stereoRectify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>R</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>T</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>R1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>R2</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>R1, R2</td><td>=</td><td>cv.omnidir.stereoRectify(</td><td class="paramname">R, T[, R1[, R2]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Stereo rectification for omnidirectional camera model. It computes the rectification rotations for two cameras. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">R</td><td>Rotation between the first and second camera </td></tr>
    <tr><td class="paramname">T</td><td>Translation between the first and second camera </td></tr>
    <tr><td class="paramname">R1</td><td>Output 3x3 rotation matrix for the first camera </td></tr>
    <tr><td class="paramname">R2</td><td>Output 3x3 rotation matrix for the second camera </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="gafe4f53d9b64bfe15b86e75a4699cbba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafe4f53d9b64bfe15b86e75a4699cbba4">◆ </a></span>undistortImage()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::undistortImage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>distorted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>undistorted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>Knew</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">cv::noArray</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a> &amp; </td>
          <td class="paramname"><em>new_size</em> = <code><a class="el" href="../../dc/d84/group__core__basic.html#ga346f563897249351a34549137c8532a0">Size</a>()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>R</em> = <code><a class="el" href="../../d3/d63/classcv_1_1Mat.html#a2cf9b9acde7a9852542bbc20ef851ed2">Mat::eye</a>(3, 3, <a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga30a562691cc5987bc88eb7bb7a8faf2b">CV_64F</a>)</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>undistorted</td><td>=</td><td>cv.omnidir.undistortImage(</td><td class="paramname">distorted, K, D, xi, flags[, undistorted[, Knew[, new_size[, R]]]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Undistort omnidirectional images to perspective images. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">distorted</td><td>The input omnidirectional image. </td></tr>
    <tr><td class="paramname">undistorted</td><td>The output undistorted image. </td></tr>
    <tr><td class="paramname">K</td><td>Camera matrix \(K = \vecthreethree{f_x}{s}{c_x}{0}{f_y}{c_y}{0}{0}{_1}\). </td></tr>
    <tr><td class="paramname">D</td><td>Input vector of distortion coefficients \((k_1, k_2, p_1, p_2)\). </td></tr>
    <tr><td class="paramname">xi</td><td>The parameter xi for CMei's model. </td></tr>
    <tr><td class="paramname">flags</td><td>Flags indicates the rectification type, RECTIFY_PERSPECTIVE, RECTIFY_CYLINDRICAL, RECTIFY_LONGLATI and RECTIFY_STEREOGRAPHIC </td></tr>
    <tr><td class="paramname">Knew</td><td>Camera matrix of the distorted image. If it is not assigned, it is just K. </td></tr>
    <tr><td class="paramname">new_size</td><td>The new image size. By default, it is the size of distorted. </td></tr>
    <tr><td class="paramname">R</td><td>Rotation matrix between the input and output images. By default, it is identity matrix. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="gaba79dc040a15997c533342d166812d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaba79dc040a15997c533342d166812d9c">◆ </a></span>undistortPoints()</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::omnidir::undistortPoints </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>distorted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> </td>
          <td class="paramname"><em>undistorted</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>K</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>D</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>xi</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>R</em> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>undistorted</td><td>=</td><td>cv.omnidir.undistortPoints(</td><td class="paramname">distorted, K, D, xi, R[, undistorted]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p><code>#include &lt;<a class="el" href="../../db/d62/omnidir_8hpp.html">opencv2/ccalib/omnidir.hpp</a>&gt;</code></p>
<p>Undistort 2D image points for omnidirectional camera using CMei's model. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">distorted</td><td>Array of distorted image points, vector of Vec2f or 1xN/Nx1 2-channel <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> of type CV_32F, 64F depth is also acceptable </td></tr>
    <tr><td class="paramname">K</td><td>Camera matrix \(K = \vecthreethree{f_x}{s}{c_x}{0}{f_y}{c_y}{0}{0}{_1}\). </td></tr>
    <tr><td class="paramname">D</td><td>Distortion coefficients \((k_1, k_2, p_1, p_2)\). </td></tr>
    <tr><td class="paramname">xi</td><td>The parameter xi for CMei's model </td></tr>
    <tr><td class="paramname">R</td><td>Rotation trainsform between the original and object space : 3x3 1-channel, or vector: 3x1/1x3 1-channel or 1x1 3-channel </td></tr>
    <tr><td class="paramname">undistorted</td><td>array of normalized object points, vector of Vec2f/Vec2d or 1xN/Nx1 2-channel <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a> with the same depth of distorted points. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:41 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
